import requests
import os

def download_pdf_by_url(url, save_path):
    """
    通用 PDF 下载函数。
    :param url: PDF 文件的下载链接
    :param save_path: 本地保存路径（含文件名）
    :return: True 下载成功，False 失败
    """
    try:
        resp = requests.get(url, timeout=20)
        if resp.status_code == 200:
            os.makedirs(os.path.dirname(save_path), exist_ok=True)
            with open(save_path, 'wb') as f:
                f.write(resp.content)
            return True
        else:
            return False
    except Exception as e:
        return False 